JavaScript精要之对象
1.定义属性
当一个属性第一次被添加给对象的时候,JavaScript在对象上调用了一个名为[[Put]]的内部方法。[[Put]]方法会在对象上创建一个新的节点来保存属性。此处创建的是自有属性,而不是原型属性。当一个已有属性,被赋予一个新的值的时候,调用[[Set]]方法。
2.属性探测
探测属性常见的错误:1
2
3if(person1.age){
do...
}
问题是:JavaScript的类型强制会影响其输出的结果。如果if判断的值是:一个对象、非空字符串、非0数字或者true时,判断为真;如果if判断的值是null、undefined、0、false、NaN或者空字符串的时候判断为假。
通过探测属性使用in和hasOwnProperty().1
2
3
4
5console.log("name" in person1);//true
console.log("toString" in person1);//true
console.log(person1 hasOwnProperty("name");//true
console.log(person1 hasOwnProperty("toString");//false
3.删除属性